home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / scope / 026-050 / scopedisk26 / cocomm5 / shortdox < prev    next >
Text File  |  1995-03-18  |  62KB  |  1,262 lines

  1. ***********************************************************************
  2. **************                                          ***************
  3. ************** This file refers to CoComm Revision 5.00 ***************
  4. **************                                          ***************
  5. ***********************************************************************
  6.  
  7. Please note that speech, highlighting, and many other features are only
  8. designed to operate when you are in AI CO Mode. When not in co, they
  9. are disabled.
  10.  
  11. YOU NEED A LOT OF STACK FOR COCOMM - 20K MINIMUM!!!! OR GURU!!!!!
  12.  
  13. You should NOT try to initiate Ai Co mode unless you are in Co on CIS.
  14. If you do, CoComm will "hang" until you press a ^C character, at which
  15. time it will abort the Ai Co request.
  16.  
  17. Ai Co mode precedes EVERY line with ^U, ^H, ^H, ^H, ^H - if you try and
  18. run Ai Co mode anywhere BUT in CIS co areas, you'll confuse the HECk out
  19. of whatever host you are trying to communicate with!
  20.  
  21. IMPORTANT: For CIS communications, use 8 bits, 1 stop bit, no parity.
  22.  
  23. Memory requirements:
  24.   CoComm needs about 316k if the Narrator and Translator libraries
  25.   are NOT available; If it loads them, it needs about 353k to run.
  26.  
  27. See list at the end of this file for change information for this version
  28.  
  29. ***********************************************************************
  30.  
  31.                                !!! NOTE !!!
  32.  
  33. Many people experience difficulty using CoComm's function keys, due to
  34. the program's using many of the non-alphanumeric keys as meta keys.
  35.  
  36. For SIMPLE use of the function keys, follow these rules:
  37.  
  38. Use the '^' character to create a control character: IE:  ^C
  39. Use the '|' character to send a newline;
  40. Enclose normal text within two " quote characters.
  41.  
  42. ^X"TextToSend"|
  43.  
  44. Hope this helps end some of the confusion!    CBB Feb/14/88
  45.  
  46. ***********************************************************************
  47. ***********************************************************************
  48.  
  49.          There is a formal manual for CoComm; it is currently
  50.          over 30 pages in length, and addresses every feature
  51.          in CoComm. It is constantly being updated, just like
  52.          the program itself, and is well worth $15.00 - which
  53.          is the shareware contribution asked for CoComm, when
  54.          and if you decide you want to use it. Please, if you
  55.          can, do make the shareware payment; If we see that a
  56.          shareware project can be made to work, we will enter
  57.          into more of these efforts - some that would be made
  58.          as commercial products otherwise. Shareware is a new
  59.          direction for SoftCircuits, and if it works out, you
  60.          will gain by it. CBB, for SoftCircuits, January 1988
  61.          
  62. ***********************************************************************
  63. ***********************************************************************
  64.  
  65.    Beginning with 4.00, CoComm is compiled with Lattice 4.0 C.
  66.    This compiler is a SIGNIFICANT departure from the 3.1 version
  67.    that was previously used to generate CoComm; please report any
  68.    problems with CoComm's operation immediately To Ben Blish on
  69.    CIS AmigaForum. Thank you.
  70.  
  71. ***********************************************************************
  72. ***********************************************************************
  73.  
  74. To setup CoComm, do the following.
  75.  
  76. FIRST:
  77.   {
  78.     exec exec.me
  79.   }
  80.  
  81. NEXT:
  82.   {              
  83.     Put coco in a workbench drawer that you wish to run it from.
  84.     'cd' to that drawer (directory)
  85.     makedir ConfigLib
  86.     makedir CaptureLib
  87.     move all .def files to ConfigLib
  88.     move all .Config files to ConfigLib
  89.     doubleclick on the coco icon;
  90.     after startup, point mouse at Phone Book gadget and click on it
  91.     after Phone Book opens, select Projects/Keydefs from menus
  92.     change the phone#, userid#, and password to YOURS, leave quotes!
  93.     close keydefs window w/close gadget
  94.     select Projects/Configure/File Cnf
  95.     click on the '>' gadget next to the 'Phone" entry in file list
  96.     click on SAVE gadget. CoComm should now be able to call CIS.
  97.   }
  98.  
  99. You can also use cocomm from the CLI; however, using this set
  100. of example functions, you MUST have the directories created as
  101. specified above, and you MUST 'cd' to the directory that CoComm is
  102. in before typing "CoCo" that starts the show.
  103.  
  104. You can change the macro keys to make CoComm run using all of it's
  105. data files from s:, or anywhere else - however be advised that if
  106. CoComm cannot find the configlib dir or drawer, it looks in s: for
  107. it's "default.config" file - so at least that will HAVE to be in
  108. s:  Once started, the default file itself will point cocomm to the
  109. correct place where the configs are to be found.
  110.  
  111. ***********************************************************************
  112.  
  113. Some things you might like to know:
  114.  
  115. When you download a new Version of CoComm, it's handy to use the
  116. def.config file supplied in the ARC to build your own default.config
  117. file again; This prevents any differences in .config file type from
  118. causing you any confusion. If you wish to use your previous file, then
  119. make SURE you check ALL of the prefs entries, and ALL of the locator
  120. entries to be sure they're ok. If they are not, things can get.... well,
  121. funny.
  122.  
  123. The best proceedure to follow is to move the new CoComm where you want
  124. it to reside - probably where the last one was. Then start it, either
  125. using run, or by clicking on it's icon... It will find your old
  126. default.config file, and use it to set itself up. Chech the preferences
  127. window - make sure that all the new items (assuming there are any) are
  128. set as you prefer them to be, then close the prefs window and save a
  129. new default.config file.
  130.  
  131. CoComm is uploaded with itself. Make of that what you will. <grin>
  132.  
  133. You can close the following windows by pressing the ESC key, if you are
  134. NOT entering text into a string gadget at the time, and the window is
  135. active (selected):
  136.  
  137. The /sen manager window;
  138. The Locator window;
  139. The Review Buffer window;
  140.    In this window, the up-cursor and down-cursor keys will scroll
  141.    the contents just like the arrow gadgets
  142. The Macro Keys window;
  143.    Be careful - if you have a cursor in a text gadget, and you
  144.    press the ESC key, then the ESC character will be entered into
  145.    that text gadget instead of closing the window!
  146. The Prefs window;
  147.  
  148. The configure files save the following information:
  149.  
  150.   The main windows size     (only used on startup)
  151.   The main windows position (also only used at startup)
  152.   The Chat windows size     (also)
  153.   The Chat windows position (startup only)
  154.   The review buffer size    (startup only, and only if the review buffer...
  155.   The review buffer position(...is open when saving the default.config file!)
  156.   chat status - on or off.
  157.   all of the names and ppn's in the locator window
  158.   The baud rate  (Only used at startup)
  159.   parity         (Only used at startup)
  160.   word length    (Only used at startup)
  161.   stop bits      (Only used at startup)
  162.   the palette colors used when cocomm is operating
  163.   Highlight pen choices for:
  164.                sen's
  165.                system msgs
  166.                normal co message name
  167.                normal co message contents
  168.                brackets around co message name
  169.   Preferences; Your name
  170.                Review buffer controls
  171.                Chat window status (on or off)
  172.                the path to look for capture files
  173.                the path to look for config files
  174.                the extension to look for on capture files
  175.                the character position where the auto word-wrap activates
  176.                your word-wrap trailer string
  177.                your hard c/r trailer string
  178.                Custom screen option
  179.                Interlaced custom screen option
  180.                underline, boldface, and italics settings
  181.                
  182.  
  183. If the program cannot find it's startup file, it will setup some
  184. simple defaults. The first thing you should do is change all the
  185. settings to ones you approve of, and then save a file called
  186. "default.config" either in the ConfigLib subdirectory or in your
  187. s: assign. Cocomm initially looks in a directory called ConfigLib,
  188. if it can find it. Then it looks in the system assign 's:', so if
  189. you have default.config files in both places, it will use the one
  190. in ConfigLib, rather than the one in s:.
  191.  
  192. Function keys are not buffered - this means that you can set them
  193. up with things like    *"o/u co"|   for a status report, and press the key
  194. even though you're in the middle of a line in the chat window... it
  195. won't disturb you, and the status report will come up in the log window.
  196.  
  197. In the config file supplied with this ARC, you will find comments in each
  198. of the function keys. To read them, open the function key window using
  199. either Right/Amiga/K or the menu entry, click in each key text area in
  200. turn, and scroll the text using the left and right cursor keys. Then study
  201. this section to learn how each key is programmed.
  202.  
  203. In a function key definition, you can use the following special
  204. characters:
  205.  
  206.          ^char - generate a control character out serial port
  207.              | - generate a c/r out serial port
  208.              ` - rest of function key is ignored
  209.              ~ - wait for about 1 second
  210.       >nn"xxx" - start key 'nn' after 'xxx' tenths of a second
  211.              < - abort '>' key timer
  212.   ("AnnSTRING" - watch for STRING, use register 'A', if found start key 'nn'
  213.            )nn - stop watching with register 'nn'
  214.    @"filespec" - open capture on file 'filespec'
  215.            @"" - close capture
  216.    *"yxSTRING" - send STRING to 'x' (s)peech, (w)indow, (o)utserial, (p)rint
  217. \nn"path/file" - load new config as 'path/file'.CONFIG start key 'nn'
  218.    ["filespec" - initialize user gadget window using 'filespec'
  219.              { - open user gadget window
  220.              } - close user gadget window
  221.    ]"DWPSBBBb" - set (D)uplex, (W)ordlength, (P)arity, (S)topbits, (B)audrate
  222.             =ESCarexx macro nameESC  executes external ARexx script file
  223.             =ESC"arexx commands"ESC  executes arexx commands directly
  224.             =A - Ai Co Mode On
  225.             =B - Buffered Chat window On
  226.             =C - Close Chat window
  227.             =D - Disable Ai Co Mode
  228.             =E - Emit chat buffer contents
  229.             =F - Flash screen
  230.             =Q - Quit CoComm
  231.             =R - Review Buffer to Front
  232.             =S - Workbench Screen to Front
  233.             =U - Update /sen list
  234.             =W - CoComm Windows to Front (activated)
  235. ?"commandline" - Execute DOS command (with I/o to/from nil:)
  236.     +"xxx"yyy" - BEEP at tone 'xxx' for time 'yyy'
  237.    &"filespec" - send file 'filespec' (halt w/ ^C)
  238.             $x - emit next char as normal char instead of execute function
  239.            :r+ - increment numeric control register 'r'
  240.            :r- - decrement numeric control register 'r'
  241.            :r0 - clear numeric control register 'r'
  242.           :rLn - (L)oad register 'r' with value 'n'
  243.            #nn - jump to key 'nn'
  244.          #:xnn - jump to key 'nn' if numeric register 'x' EQUAL 0
  245.          #;xnn - jump to key 'nn' if numeric register 'x' NOT EQUAL 0
  246.          #>xnn - jump to key 'nn' if numeric register 'x' GREATER THAN 0
  247.          #<xnn - jump to key 'nn' if numeric register 'x' LESS THAN 0
  248.            !nn - call key 'nn' (then return into current key)
  249.          !:xnn - call key 'nn' if numeric register 'x' EQUAL 0
  250.          !;xnn - call key 'nn' if numeric register 'x' NOT EQUAL 0
  251.          !>xnn - call key 'nn' if numeric register 'x' GREATER THAN 0
  252.          !<xnn - call key 'nn' if numeric register 'x' LESS THAN 0
  253.   ;nn"1"2"P"N" - requester: key(nn), line(1), line(2), (P)ostext, (N)egtext
  254. %"xSTRING"ttt" - wait time 'ttt' for STRING, match=continue, else do 'x'
  255.       "STRING" - sends quoted string to serial output.
  256.       
  257.       
  258.       
  259.       
  260.       
  261.       
  262.                **** DETAILED INFO ON MACRO FUNCTIONS: ****
  263.                
  264. "STRING" - send the string in quotes to the serial output channel. You can
  265.            send any normal text character within the quotes EXCEPT
  266.            a quotation mark itself. If you MUST send a quotation mark,
  267.            for instance lets say you have to send the following string:
  268.            
  269.                  This is a "test" string
  270.                  
  271.            You will have to use the '$' escape character to do it, like
  272.            this:
  273.            
  274.                  "This is a "$""test"$"" string"
  275.                  
  276.            notice that the escape character must occur OUTSIDE of the
  277.            quotes enclosing the normal text; there were FIVE elements
  278.            to that macro item;
  279.               
  280.            1     "This is a "
  281.            2               $"
  282.            3                "test"
  283.            4                    $"
  284.            5                     " string"
  285.  
  286.    "^" - this means the next char is a control char. IE: ^H for a backspace.
  287.    
  288.    "|" - this is a newline... just like hitting return.
  289.    
  290.    "`" - this means EVERYTHING after this char is ignored; a comment.
  291.    
  292.    "~" - this causes a short delay.
  293.    
  294.    ">" - This starts the function key timer. You can start any funtion
  295.          key with the timer; Syntax is: >nn"x" where nn is the function
  296.          key number and x is the time, which is a positive number which
  297.          may be 1 through 99999 - each unit is 1/10th of a second. If you
  298.          wish to disable the timer, use the "<" function, described next.
  299.          When the timer times out (If it does) the function key specified
  300.          will be started. This timer has a range of over 27 hours.
  301.    
  302.    "<" - This stops the function key timer; it will not time out, and the
  303.          function key specified in the ">" statement will NOT be executed.
  304.    
  305.    "(" - this "SETs" a watch string. Syntax is:
  306.                       ("AnnSTRING"
  307.          A      = 1 character, A-Z, upper or lowercase: a match register.
  308.          nn     = 2 digits, 01-20:                      a macro key number.
  309.          STRING = ASCII:                                a text string.
  310.          
  311.          Once set, until you execute an UNSET (see next item) for
  312.          this watch string, EVERY time this string is encountered,
  313.          except during file transfers, the specified function key
  314.          will be invoked. There are 26 watch strings, 1 for each
  315.          letter of the alphabet.
  316.          
  317.          IMPORTANT NOTE:   match registers A-M are CASE SENSITIVE!
  318.                            match registers N-Z are NOT!
  319.          
  320.          So;  ("A10testING"  Will ONLY match this string:  testING
  321.          
  322.          But: ("N10testING"  Will match any of these:      testing, TESTING,
  323.                                                            TESTing, testING,
  324.                                                            tEsTiNg, TeStInG.
  325.          Either one would start key F10 executing upon a match.
  326.          
  327.    ")" - this UNSETs a watch string. Syntax is:    )A
  328.          where A is 1 character, A-Z, upper or lower case.
  329.          
  330.          Once unset, this watch will no longer be functional until
  331.          another SET operation occurs for it.
  332.    
  333.    "@" - this turns the capture buffer on and off. It is followed by
  334.          a quoted string; ie:  @"df0:capfile"  this would begin to
  335.          capture to the file df0:capfile. To turn capture off, use
  336.          this syntax:   @""   that will close the capture file.
  337.          
  338.    "*" - This sends a string to the narrator, the printer, or the
  339.          screen. The string can be either plain ASCII text followed
  340.          by a quote, or it can be a 'handle' as recieved by the
  341.          program on a recent line. Syntax is as follows:
  342.          
  343.             *"yxSTRING"  where 'x' can be one of the four
  344.             following options, upper or lower case:
  345.    
  346.             S - Speech;  Text sent to the narrator.
  347.             W - Window;  Text sent to the window.
  348.             P - Printer; Text sent to the narrator.
  349.             O - Output;  Text goes to CIS, out serial channel.
  350.             
  351.             and where 'y' is an OPTIONAL field that can be one
  352.             of three things;
  353.             
  354.                 if an '+', then the text is taken from
  355.                 the LAST input line from a CO level line.
  356.             
  357.                 If an '-', the text is taken from the LAST
  358.                 input line from a /sen level line.
  359.             
  360.                 if an ':x', the 'x' is a parameter a-z or A-Z,
  361.                 a numeric register - the text will be "43" if
  362.                 the value in the register is 43.
  363.             
  364.             If you use the y option, then the STRING portion
  365.             is omitted, as the string data will come from internal
  366.             registers.
  367.    
  368.    "\" - This loads a new .config; you can use it to run sequences
  369.          of function keys limited only by disk space. Syntax:
  370.          
  371.          \NN"filename"  (.config is added automagically)
  372.          
  373.          Where NN is the function key to be started after the load
  374.          completes. If you use 01-20, then the specified function
  375.          key will be started immediately after the new config is
  376.          loaded; if you use '00' there, then the config is loaded,
  377.          but no key is started. Any other value will cause an
  378.          error condition.
  379.    
  380.    "[" - This initializes the User-definable gadget window.
  381.          it has one parameter, a file name; use it like this:
  382.          
  383.                        ["path/filename.extension"
  384.          
  385.          This will cause CoComm to attempt to read a control file
  386.          that contains ascii text in a certain format, and if it
  387.          is successful, a window will be initialized (not opened,
  388.          though) with the gadgets specified in the control file.
  389.          You may then use the '{' and '}' functions to open and
  390.          close the window, respectivly. Here is the format of the
  391.          file, as demonstrated by an example:
  392.          
  393.             Gadget Window Title   - window title
  394.             03                    - number 01-20 (how many gadgets)
  395.             05FKEY #5             - key number 01-20, 21-40, or 41-60
  396.             09FKEY #9             - key number 01-20, 21-40, or 41-60
  397.             20FKEY #20            - key number 01-20, 21-40, or 41-60
  398.             
  399.          You may have only as many gadget def lines as the number you
  400.          specify under the window title line; Gadget text names are
  401.          limited to ten characters; All numeric parameters MUST be
  402.          two digits; And you MUST have as many gadget definitions as
  403.          you specify on line 2, or the initialization will fail.
  404.          
  405.          Using the range 1-20 to specify the fkey to execute will
  406.          cause the text in the gadget to be color #1; Using 21-40
  407.          will cause it to be color 2; and using 41-60 will cause it
  408.          to be color 3. Put a little differently, pick an fkey 1-20.
  409.          then, for color 2, add 20. Or, for color 3, add 40.
  410.    
  411.    "{"   Opens the window initialized by the '[' function, described
  412.          previously.
  413.          
  414.    "}"   Closes the window initialized by the '[' funtion, described
  415.          previously
  416.    
  417.    "]" - This allows you to set up the communications parameters
  418.          from the macro language. Syntax is as follows:
  419.            
  420.             ]"DWPSBBBb"
  421.          
  422.          where (D)uplex   may be (F)ull or (H)alf
  423.                (W)ord     may be (8)    or (7)
  424.                (P)arity   may be (O)dd, or (E)ven, or (N)one
  425.                (S)topbits may be (1)    or (2)
  426.                (BBBb) is a baudrate specification, all of the
  427.                       following are legal:
  428.                          000 0000 0300 300 1200 2400 9600
  429.                       the zero value is a special value -
  430.                       it means "Don't change the baudrate"
  431.          
  432.          examples:
  433.             ]"F8N11200"    ]"H7E1300"  ]"H7E10300"  ]"f7n2000"
  434.    
  435.    "=" - This initiates CoComm functions. You place a single
  436.          character after the "=" character, and it performs a
  437.          function. These characters may be upper or lower case.
  438.          
  439.            ="string" Arexx macro (without use of double quotes allowed)
  440.            =ESCstringESC ARexx macro (Quotes allowed in string)
  441.            =A    "Ai Co Mode On"
  442.            =B    "Buffered Chat window On"
  443.            =C    "Close Chat window"
  444.            =D    "Disable Ai Co Mode"
  445.            =E    "Emit chat buffer contents"
  446.            =F    "Flash screen"
  447.            =Q    "Quit CoComm"
  448.            =R    "Review Buffer to Front"
  449.            =S    "Workbench Screen to Front"
  450.            =U    "Update /sen list"
  451.            =W    "CoComm Windows to Front (activated)"
  452.                   NOTE: if the Chat Window is open, then it
  453.                   is the window that gets activated; If not,
  454.                   then the main log window is activated.
  455.    
  456.    "+" - This controls a 'beep' feature. It has two three-digit
  457.          numeric parameters; Use it like this: +"xxx"yyy"
  458.          The 'xxx' parameter is the duration of the note; the
  459.          larger, the longer it lasts. The 'yyy' is the period, or
  460.          tone of the note; the larger, the lower the tone.
  461.          
  462.    "&" - this controls the send file feature. It is followed by a
  463.          quoted string; ie: &"df0:sendfile"  This would send the
  464.          complete file to the serial output. Filename required.
  465.          Operation can be halted by a control C.
  466.          
  467.    "$" - this, when placed before another of the special characters,
  468.          causes that character to be emitted normally; IE,
  469.          putting $| in a macro will send the "|" char, not a new line.
  470.    
  471.    "?" - Followed by a quoted string, this implements a DOS execute
  472.          facility. Use like this:
  473.          
  474.                ?"NewCLI"
  475.          
  476.          All I/o is to/from the 'nil:' device, so if you need text
  477.          output, you'll have to make a newcli and go from there.
  478.          The return code from the command is placed in numeric register
  479.          'Z', and so can be tested for zero or non-zero results.
  480.    
  481.    ":" - this is a numeric register control command; you follow it with
  482.          a register A-Z (not case sensitive) and then one of four
  483.          items; '+', '-', 'L"number"' or '0'. The + increments
  484.          the register, the - decrements it, the L"number" loads it with
  485.          the number, and the 0 clears it. So, you could say:   :p0 
  486.          and that would clear register P. You could say, :T+ and that
  487.          would increment register T. You could say, :uL"45" and that
  488.          would load register U with the value 45. values can be up to
  489.          six digits in length, 1 digit minimum. You use these in
  490.          conjunction with the "#" jump and "!" call operations,
  491.          described next.
  492.          
  493.          Numeric register 'Z' is used by the ?"" execute statement;
  494.          the return code from the executed command is placed in the
  495.          'Z' register so you can test it and control the macro execution
  496.          based on the results.
  497.          
  498.    "#" - this means that the next two chars choose another macro key;
  499.          ie; #03 will start key F3 executing.... use 01-20. This is
  500.          a "jump" operation; meaning that once this has occurred,
  501.          the key with the #nn instruction will NOT resume operation.
  502.          
  503.          Optional conditional jump uses another set of syntax;
  504.          if the '#' character is followed by one of the following four
  505.          characters:   :,  ;,   <,  or  >   and then a letter a-z or A-Z,
  506.          then the jump will only occur if that numeric register is ZERO,
  507.          NONZERO, LESS THAN ZERO, or GREATER THAN ZERO. Used like
  508.          this:  #:q03   This statement says that IF numeric register Q
  509.          contains zero, THEN we jump to key number 3. Otherwise, execution
  510.          continues in this key. If you say, #;t04  this means:
  511.          IF numeric register T is nonzero THEN we jump to key number 4.
  512.          if you were to say #>b05    then key 5 would be executed IF
  513.          register b was greater than zero... if it was zero or less than
  514.          zero, execution continues in the current key. If you were to say
  515.          #<x11 then key 11 would be executed IF register x was less than
  516.          zero; if it was zero or greater than zero, execution continues in
  517.          the current key.
  518.          
  519.    "!" - this means that the next two chars choose another macro key;
  520.          ie; !03 will start key F3 executing.... use 01-20. This is
  521.          a "call" operation; meaning that once this has occurred,
  522.          the key with the !nn instruction will resume operation as long
  523.          as the key that was called does not cause an abort for some
  524.          reason. There is no corresponding return statement, except
  525.          in a (%)compare... called keys return when they complete, IF
  526.          they complete, or when a (%)compare fails that has a "B"
  527.          specification in the fail field.
  528.          
  529.          Optional conditional call uses another set of syntax;
  530.          if the '!' character is followed by one of the following four
  531.          characters:   :,  ;,   <,  or  >   and then a letter a-z or A-Z,
  532.          then the call will only occur if that numeric register is ZERO,
  533.          NONZERO, LESS THAN ZERO, or GREATER THAN ZERO. Used like
  534.          this:  !:q03   This statement says that IF numeric register Q
  535.          contains zero, THEN we call key number 3. Otherwise, execution
  536.          continues in this key. If you say, !;t04  this means:
  537.          IF numeric register T is nonzero THEN we call key number 4.
  538.          if you were to say !>b05    then key 5 would be called IF
  539.          register b was greater than zero... if it was zero or less than
  540.          zero, execution continues in the current key. If you were to say
  541.          !<x11 then key 11 would be called IF register x was less than
  542.          zero; if it was zero or greater than zero, execution continues in
  543.          the current key.
  544.          
  545.    ";" - This invokes a standard intuition style requester. You supply
  546.          a function key number that may be executed in some cases, and
  547.          four text strings. If the user presses the left button
  548.          (Which matches string #3) then the function key continues
  549.          execution; if the user presses the right button on the
  550.          requester, then the function key named in the function is
  551.          started up.  Syntax is as follows:
  552.          
  553.            ;NN"1st line"2nd Line"Positive Text"Negative Text"
  554.          
  555.          The first parameter (NN) is a function key number. If the
  556.          user presses the right button in the requester, then this
  557.          function key is jumped to and execution begins in it.
  558.          
  559.          You MUST supply all four text strings, especially the text
  560.          for the positive button and the negative button. Example:
  561.          
  562.            ;"No Mail - proceed to"next operation or quit"-Proceed-"-Quit-"
  563.          
  564.          The first two strings are limited to 80 characters; the positive
  565.          text and the negative text are each limited to 20 characters.
  566.          
  567.    "%" - this is a combination string match/timing controller;
  568.          it compares a string against incoming data; if the string
  569.          matches within the specified time, then execution continues
  570.          in the same key at the next item. If it fails, then the
  571.          operation specified in the "fail field" is performed.
  572.          
  573.          syntax is as follows:   %"xSTRING"VALUE"
  574.          where:   
  575.                   "x" is required: it is the "fail field", and can be:
  576.                    (upper or lower case) any of the following items.
  577.                    The fail field tells the compare what to do if the
  578.                    compare fails.
  579.                           R   - which will Restart the key if it times out
  580.                           S   - which will Stop the key if it times out
  581.                           C   - which will Continue the key if it times out.
  582.                           Knn - where nn is a macro key number to be
  583.                                 executed if this times out. (Jump)
  584.                                 See the "#" cmd for details on jumps.
  585.                           Pnn - where nn is a macro key number to be
  586.                                 executed if this times out. (Call)
  587.                                 See the "!" cmd for details on calls.
  588.                           B   - go back to calling key... if key was
  589.                                 called, and this compare fails, then
  590.                                 control returns to calling key. If the
  591.                                 key was NOT called, then execution
  592.                                 terminates as with the "S" option.
  593.                    
  594.                    STRING is an optional text string, which, if matched
  595.                           within the time specified by the VALUE field,
  596.                           will cause the key operation to continue.
  597.                           
  598.                    VALUE  is an optional positive number, representing
  599.                           representing 10ths of a second, that is used
  600.                           to limit the amout of time that the STRING is
  601.                           checked for a match.
  602.                    
  603.                    The quotation marks are absolutely required!
  604.                    
  605.                    The operation of the "%" command can be aborted during
  606.                    a wait by pressing the CTRL and C keys together. A
  607.                    requester is presented, and you can select ABORT or
  608.                    CONTINUE. ABORT will stop the key from doing anything
  609.                    else. CONTINUE will do the _next_ operation in the
  610.                    function key - not continue the wait you interupted.
  611.                    
  612.          Here are some examples of the "%" command's use:
  613.          
  614.              %"sCONNECT 1200"200"    --  waits for 20 seconds, checking
  615.                                          for the occurance of the string
  616.                                          "CONNECT 1200". If not found in
  617.                                          20 seconds, the key stops running.
  618.  
  619.              %"cCONNECT 1200"200"    --  waits for 20 seconds, checking
  620.                                          for the occurance of the string
  621.                                          "CONNECT 1200". If not found in
  622.                                          20 seconds, the key continues
  623.                                          running.
  624.                                          
  625.              %"rCONNECT 1200"200"    --  waits for 20 seconds, checking
  626.                                          for the occurance of the string
  627.                                          "CONNECT 1200". If not found in
  628.                                          20 seconds, the key starts all
  629.                                          over again. See the example below
  630.                                          for a practical reason to do this.
  631.                                          
  632.              %"c""                   --  Doesn't do anything, just
  633.                                          continues.
  634.                                          
  635.              %"K04test"100"          --  Starts macro key F4 if the string
  636.                                          "test" is not received within 10
  637.                                          seconds of starting the "%" cmd.
  638.                                          
  639.              %"sMOO""                --  checks the next four characters
  640.                                          against the string "MOO". if they
  641.                                          are matched, it will contine. You
  642.                                          can only stop this by pressing the
  643.                                          control and C keys together, as
  644.                                          there is no timeout value.
  645.                                          
  646.              %"c"200"                --  Waits 20 seconds, then continues
  647.                                          
  648.                                          
  649. Here is a complete key definition that will keep dialing a number until
  650. it connects - and then log you into CIS. (handy, eh?)
  651.  
  652. ~*"o+++"~AT H0|%"rOK"ATDT 555-1212"%"rCONNECT 1200"200"%"sName: "200"CIS|
  653.  
  654.   (the following line is the rest of this same key)
  655.  
  656. %"sID: "200"72667,1321|%"sword: "200"YOUR.PASSWORD|%"k02Amiga Forum"600"
  657.  
  658. This definition will not only log you into CIS, but will start function
  659. key F2 executing if you are not in the amiga forum within 1 minute after
  660. CIS takes your password. Which might be to hang up, or look at email, or
  661. whatever. Depends on how you have CIS setup to handle your log on.
  662. Although not a complete scripting capability, these features of the
  663. macro key processor are enough to automate almost any concievable log on,
  664. log off, or any other reasonably set operation.
  665.  
  666. Two complex function key definitions are supplied in the default.config
  667. in the distribution ARC file. F11 (shifted F1) will call CIS, and if CIS
  668. sends you to the AmigaForum (which it should if you have no email waiting)
  669. it will proceed to open a file and read thread new through all the new
  670. stuff, then close the file it created and log off, then hang up. Not bad
  671. for a macro key, eh? F15 (shifted F5) will call CIS and get you in through
  672. all the ids, names, ppns and all of that. You can customize these very
  673. easily. First, change the phone number in the front of the key def (unless
  674. you live near me!) Then replace "YOUR-PPN" with your CIS ppn #. Then
  675. replace "YOUR.PASSWORD" with your CIS password. Then these should work.
  676. Note that the F11 key opens a capture file on df0:... either change it to
  677. where you want it, or put a disk in there with some room!
  678.  
  679. To clear a sen entry in the sen window, hit FlushOne and then press the
  680. arrow gadget to the immediate left of the entry you wish to delete. If
  681. you wish to cancel the operation, just close the window after you hit
  682. the Flush one gadget but before you hit the arrow gadget of any entry.
  683.  
  684. There are two menu functions that affect sens. One turns the sen operation
  685. on and off, the other is handy for when you have /sen't a line to
  686. someone and you meant it to go to the normal co level, in public.
  687. This function allows you to retransmit your last line. Simply change to
  688. the other mode (Amiga/d) then retransmit (Amiga/e).
  689.  
  690. When you are using /sens with another individual who has CoComm, and they are
  691. in AI Co mode, you can cause text to be underlined, italicised, or
  692. boldfaced. You can do this in any combination, and without worrying about
  693. what it looks like to others in Co. To underline, place the '_' character
  694. before and after the word or group of words you want underlined. To Boldface,
  695. use a '*" before and after the group or word. To Italicise, use the reverse
  696. apostrophe: '`'  Like this:  I did _NOT_ do it!  The "NOT" will be underlined.
  697.  
  698. In the locator window, you can put anything before the ppn as long as it does
  699. not contain a ":" character. This is used to tell cocomm where the ppn
  700. starts.
  701.  
  702. F11 through F20 are shifted function keys F1 through F10.
  703.  
  704. CoComm supports the "Quick" B protocol - files uploaded from your
  705. computer will not have to be "chopped", and files downloaded may
  706. not have to be either, depending on whether they were uploaded
  707. with B or QB protocol.
  708.  
  709. To use QB protocol, follow the prompts in the data library; no action
  710. is required by you inside CoComm, other than to answer the questions
  711. CIS asks you. All file transfer operations are fully automatic.
  712. Simply Choose the "B" protocol option at the prompt where that option is
  713. a choice; CoComm will inform CIS that the version of B proto to
  714. be used is the Quick version.
  715.  
  716. You can observe the progress of the transfer in the window CoComm opens
  717. for that purpose. For Uploads, since CoComm knows all about the file
  718. in question, a larger window with more data is displayed. For Downloads,
  719. only the number of blocks, retrys, and file name are shown. However,
  720. If you notice the size of the file in the DL description (it's there)
  721. you can type the number of bytes into the DL status window, and it will
  722. give you a running time estimate of dl'ing time.
  723.  
  724. If you wish to abort a quick B transfer, 'hit' the transfer status window's
  725. "close" gadget. After a moment, the transfer should complete.
  726.  
  727. If (Especially at 2400 baud) the Quick B transfer seems to "hang up", click
  728. in the log window and type a ^U -- several times, if needed. This should
  729. get CIS to continue the transfer. Apparently, there are problems with CIS's
  730. 2400 baud handling that can cause this. CoComm does absolutely nothing
  731. different at 2400 baud; nor is it missing characters or something like that.
  732. It is CIS's problem entirely.
  733.  
  734. Speech! works fine, play with, enjoy.
  735.  
  736. CoComm sleeps; this means that when it is not busy, other Amiga tasks can
  737. run full speed even while the CoComm window is open and active.
  738. Only when CoComm is processing data does it use system CPU time.
  739.  
  740. When the chat window is open, the log window is still active - this is
  741. important - if you are sen'ing somebody using the auto-sen capabilities
  742. of cocomm, then ALL input to the chat window goes to the person you are
  743. senning. If you type into the log window (just click in it), then
  744. unbuffered input begins immediately... you can carry on normal co level
  745. communications in the log window while you carry on a sen conversation
  746. in the chat window.
  747.  
  748. There are a number of control chars you can type into the chat window; First,
  749. ctrl H, or the backspace key. Ctrl X, which will cancel the line you
  750. have in the window, and ctrl W, which will cancel the last word if you
  751. are at the end of the line, and the current word if you are within the
  752. line. The chat window has some editing capability. pressing the left and
  753. right cursor keys will move the cursor through the text. The delete key
  754. will delete the character under the cursor. The backspace key will delete
  755. the character before the cursor. SHIFT/left arrow will put the cursor
  756. at the beginning of the line. SHIFT/right arrow will put the cursor at
  757. the end of the line. SHIFT/up arrow will put the cursor at the next
  758. word. SHIFT/down arrow will put the cursor at the previous word.
  759.  
  760. Review Buffer: This option is fairly straightforward. In order to use it,
  761. you first open the buffer. Then tell CoComm how many lines you wish it
  762. to reserve in the buffer. This is an important decision; If you choose
  763. 100 lines, and the conversation you wanted to review was 105 lines long,
  764. then you will lose the first five lines. try to be generous... You won't
  765. regret it. When the Review buffer is saved, it is saved in an editable
  766. format as a normal Amiga ascii text file. Likewise, when you load the
  767. Review buffer from a file, it expects a _text_ file... don't go trying to
  768. shovel in some binary file! The review buffer is a "concurrent" window;
  769. it co-exists peacefully with the main window(s). You can specify a
  770. default situation for the review buffer in the prefs window. You can
  771. choose it to be opened and allocated, started or stopped, and shown or
  772. now shown. If you save the .config file while the review window is
  773. actually allocated and the window open, then the window's size and
  774. position will be saved as well. So, (for instance, GreG!) if you want
  775. the review buffer active all the time, and of a particular size, then
  776. select start, open, and showing; as well as specifying the default
  777. number of lines to allocate (at 140 bytes of memory / line). CoComm
  778. will allocate the review buffer when it starts, and it'll be there
  779. all the time unless you turn it off. You can use the cursor up/down keys,
  780. unshifted, any time the review buffer window is open to scroll the
  781. text in the review window.
  782.  
  783. NOTE: When you use the capture facility, PLEASE do not put files in the
  784. ram: device! For that matter, don't run CoComm there, either! Why? (I
  785. hear you cry) Because ram:, also known as Blowup.Device, is unreliable,
  786. tends to flake your system, and definitely can crash CoComm. RAM: should
  787. never be used for anything, if you can avoid it! Since you're planning on
  788. using CoComm, you must be a CIS subscriber - so go to the data libraries
  789. and download ASDG's VD0: device. It is _far_ better than the CBM
  790. supplied ram: device, won't blow up, and furthermore can retain your
  791. data through a warm boot if you have expansion memory. Get it!
  792.  
  793. Doubt me on ram:'s instability and general reliability? go to any CLI
  794. and type the following;
  795.  
  796. dir "Ram Disk:"
  797.  
  798. But don't do it with anything important in the machine - because you're
  799. going to visit the Guru as soon as you hit return. There are LOTS of
  800. other known problems with the ram: device. Don't Use It!
  801.  
  802. The terminal type used here is ANSI - both of the windows used for
  803. communications in cocomm are Amiga console devices;
  804.  
  805. As far as performance goes, CoComm is fairly ambitious in the way it
  806. is structured. The Amiga console devices, while very nice, are not what
  807. you would call high-performance. Running two of them, as well as the
  808. serial channel and the usual Intuition stuff is a fair demand on the
  809. computer. You may experience some performance degradation when running
  810. other programs at the same time, though in general I have seen few problems.
  811.  
  812. A technical note - CoComm inherits the priority of the CLI it was
  813. started from, so if you have a CLI with a priority of 1 or more,
  814. then CoComm will perform better when run with other programs.
  815. You can also, if you started CoComm from the CLI, use the SetPri
  816. program (also by SoftCircuits - FreeWare on CIS in DL9) to change
  817. CoComm's priority to anything you like. Feel free to experiment
  818. with it.
  819.  
  820. I'm Ben Blish - I spend a LOT of time on the Amiga Forum. I like CIS,
  821. I like the people I meet there, and I'll probably see you there.
  822. If you have suggestions, please leave them for me on the forum -
  823. NOT in EMAIL. I HATE EMAIL! When you see a msg from me, simply
  824. reply to it using the UA option, which will let you rename your msg.
  825. You can also give me suggestions in co... assuming I'm there, of
  826. course.
  827.  
  828. If you meet any pirates, kick them in the... I mean, explain to them
  829. that they're misdirected.
  830.  
  831. Remember - this is shareware - you want more? send 15.00 to us at:
  832.  
  833.      SoftCircuits, Inc.
  834.      701 Nw 13th Street, Suite C4
  835.      Boca Raton, Fl
  836.      33432
  837.  
  838. If you can't afford it, that's ok. Use it anyway, and enjoy!
  839.  
  840.  
  841. Special thanks to Keith, who helped debug the original standard
  842. B proto code; It would have taken much longer to get the first version
  843. of CoComm up to the point where it could have transferred files
  844. without his knowledge and experience with CIS.
  845.  
  846. Quick B protocol was implemented using methods provided by Compuserve's
  847. Russ Ranshaw, converted to generic 'c' code by Paul M. Resch, and
  848. modified to work in CoComm by myself.
  849.  
  850. Thanks to Anne, Larry, Doug, GreG, Jim, Steve,
  851. and all the co'ers who have been involved in supplying
  852. rude remarks... I mean, constructive feedback on
  853. the life and times of CoComm.
  854.  
  855. Actually, Anne never says anything rude. But Doug, now...
  856. of course, HE tries to run two term programs at one time,
  857. so who's gonna listen to him? Not only that - he has been known
  858. to use an 8k stack!
  859.  
  860. Ben Blish, For SoftCircuits, Inc.  Dec 28th, 1987
  861.  
  862. CoComm/CBB
  863.  
  864. * Update history from 3.11:
  865.  
  866. 3.11 : polished review buffer, flicker gone;
  867.        review buffer arrows auto-repeat;
  868.        chat buffer editing added;
  869.        review buffer now concurrent task;
  870.        Review line length changed from 255 to 140
  871.        
  872. 3.12 : review window gadgets now auto-reselect the chat or log
  873.        windows, whoever was active when review buffer gadgets
  874.        were hit.
  875.        
  876.      + CoComm can now run even if Narrator/translator
  877.        stuff isn't available to it.
  878.        
  879. 3.13 : bug fix - review buffer trashing system memory lists
  880.  
  881. 3.14 : 16 line history for chat window;
  882.  
  883.      + ^R char swap in chat editing added.
  884.  
  885. 3.15 : numeric register handling added: 
  886.          inc, 
  887.          dec,
  888.          clr,
  889.          load,
  890.          print,
  891.          jump,
  892.          call;
  893.          
  894.      + Macro key error handler now includes key ID that caused the
  895.        exception;
  896.  
  897. **** : no version 3.15->3.99
  898.  
  899. 4.00 : Compiled with Lattice C ( lost 15k in the process! )
  900.  
  901. 4.01 : Parity problems fixed - parity settings are now correct,
  902.        my fault, sorry! One consequence of this is that you
  903.        MUST sign on to CIS with the following settings if you
  904.        are going to download or upload:
  905.                    8 Bits
  906.                    1 Stop bit
  907.                    No parity
  908.        7e2 works, but CIS doesn't like it for file transfers.
  909.  
  910.      + Small bug, filerequester sorting OLD lists of data before
  911.        it read in the new lists, fixed. Now sorts only when it
  912.        has new info. 
  913.        
  914.      + Both the /sen manager and the Locator will now function
  915.        outside of the Co area; however, the locator provides
  916.        different info outside of co - beacause of the way the
  917.        forum software works, you only get some information
  918.        about the person - last time on - not where they are.
  919.        Sorry, but that's the forum software for you.
  920.        
  921.      + 4.00 had QB download problem, engendered by the use of
  922.        the new Lattice 4.0 compiler - fixed now.
  923.        
  924.      + Download abort now works;
  925.        
  926.      + Aborting uploads will no longer leave the file open;
  927.      
  928.      + You can now specify a CUSTOM screen for CoComm to open
  929.        into. You cannot change from a custom screen back to the
  930.        workbench, or vice-versa, while running. Choose the
  931.        desired option in the preferences window, and save the
  932.        default.config file... from then on, CoComm will use
  933.        that screen option.
  934.        
  935.      + Additional Screen option: "Lace", short for interlace;
  936.        you can specify that CoComm open the CUSTOM screen as
  937.        an interlace screen, for 400 or more lines of video.
  938.        CoComm should use the same standards as your workbench
  939.        screen - that means if you have extra rows, or columns,
  940.        via morerows or PAL, the custom screens CoComm creates
  941.        should also reflect that. The interlace switch also
  942.        only takes effect when CoComm first starts.
  943.  
  944. 4.02 : Filerequester modified for much faster sorting of file
  945.        lists, dir lists, and root lists.
  946.        
  947.      + Filerequester "OK" message now includes file/dir/root
  948.        counts for your convenience.
  949.        
  950.      + Review buffer now clears and displays immediately after
  951.        a LOAD review operation (Dunno how I missed THAT one!)
  952.      
  953.      + When a load review buffer operation would overfill the
  954.        review buffer, the notice requester indicates how many
  955.        lines bigger than the buffer the file was. allowing you
  956.        to intellegently re-allocate the buffer, if you desire.
  957.        
  958.      + Review buffer load would always leave one line from the
  959.        previous contents in it - no longer.
  960.      
  961.      + In v4.01, if you opened an interlace screen, then modified
  962.        the Prefs settings for non-interlace, saved them in the
  963.        default.config file with your windows in positions that
  964.        are not acceptable for a non-interlace screen, CoComm
  965.        would be unable to restart using that default.config
  966.        file. Now fixed - you can even use those .configs that
  967.        didn't work... they'll be ok now. Sorry. <grin>
  968.  
  969. 4.03 : This revision adds the ability to use color highlighting on
  970.        individual words and phrases. Using an exclamation point
  971.        followed immediately by a numeral (1,2, or 3) will cause
  972.        the color of the text in Ai Co mode to be changed. The "!1"
  973.        color is the default; You use a !1 to return a phrase to
  974.        the original color of the Co Text highlight. Use !2 and
  975.        !3 to make the text appear in the other colors. This feature
  976.        can be disabled in preferences, if you don't want others
  977.        able to control your color set. These text options cancel
  978.        themselves at the end of each line, so there is no problem
  979.        with sending up a phrase like this:  "!2Hi, Mom."
  980.  
  981. 4.04 : Fix for "Transmit File" operation. Incoming text characters
  982.        during a transmit operation were not filtered, so it was
  983.        possible for your screen to go into the ALT character set;
  984.        looked like crud, and impossible to read, if it happened.
  985.        Fixed now.
  986.      
  987.      + Extensive rework on the other transmit options; the &"" option
  988.        in the macro keys, and the review buffer transmit as well.
  989.        
  990.      + Added preferences gadget for disabling the color highlighting
  991.        feature - supposed to be in 4.03, but I forgot to do it.
  992.      
  993.      + Not a feature of 4.04, exactly, but good to know about:
  994.        An ARC file has been created that contains a nifty automatic
  995.        HELP generator for you to use with other people in CO;
  996.        the file creates a string of requesters that send your
  997.        choice of HELP files to the user in Co; Really a super use
  998.        of the macro keys. Included is a complete explanation
  999.        of how to use it.
  1000.  
  1001. 4.05 : Xmodem standard (as opposed to Xmodem CRC) file transfer
  1002.        protocol has been added; this allows CoComm to be used for
  1003.        Amiga->Amiga transfers, and of course almost any bulletin
  1004.        board will support xmodem; You can now use all that macro
  1005.        power on other systems! (limited distribution Version)
  1006.        
  1007. 4.06 : *"sSPEAK TEXT" string output variation had a bug where
  1008.        calling it multiple time quickly in succession would cause
  1009.        a GURU, due to faulty code that was SUPPOSED to be checking
  1010.        to see if the last speech command had completed but wasn't.
  1011.        all fixed now.
  1012.        
  1013.      + Xmodem CRC added... an additional protocol for use with
  1014.        more sophisticated BBS's and networks.
  1015.        
  1016.      + Additional support for 7-bit use; some internal routines
  1017.        were still seeing the 8th bit, missed it because I never
  1018.        run 7 bits, myself. Sorry.
  1019.        
  1020.      + Added Echo/No echo for CoComm -> CoComm/other term use.
  1021.      
  1022.      + Added Half/Full duplex
  1023.      
  1024.      + Added Incoming C/r = C/r OR C/r-LF
  1025.      
  1026.      + Added Outgoing C/r = C/r OR C/r-LF
  1027.      
  1028. 4.07 : Both Xmodem AND Xmodem-CRC had nasty bug on receiving files
  1029.        due to XON/XOFF problems throughout CoComm, my mistake. This
  1030.        has been corrected... The problem manifested itself as the
  1031.        program's tendancy to swallow the first $11 character that
  1032.        came along - if you dl'd a text file, you couldn't get past
  1033.        block 16, because the protocol sends a $11 at the beginning
  1034.        of block 17.
  1035.        
  1036.      + Related to the above problem, you can now type ^S and ^Q
  1037.        (XON/XOFF) into the log window and they will be sent as
  1038.        you would expect - CIS (and other systems) will respond
  1039.        appropriately.
  1040.        
  1041.      + Doug: The Prefs window has a new item in it; It's a text gadget
  1042.        called "Pass:" You enter into this gadget all the control
  1043.        characters that you want to pass "through" the chat window; For
  1044.        instance, on CIS, the following control characters are used often:
  1045.        
  1046.           ^C - Aborts the current operation completely
  1047.           ^P - Aborts the current operation locally
  1048.           ^S - Stops output to your screen until ^Q
  1049.           ^Q - Resumes output after ^S
  1050.        
  1051.        If you type SQCP into the "Pass:" gadget, then any time you
  1052.        type ^S, ^Q, ^C, or ^P into the chat window, the control
  1053.        character will be immediatly sent on to the host. Note that
  1054.        you can change these characters to anything - and that this
  1055.        function take precedence over standard chat functions; For instance,
  1056.        ^R normally swaps the characters under the cursor in the chat
  1057.        window; if you enter an R into the Pass: gadget, then typing
  1058.        a ^R will only send the ^R on to the host system - NOT swap
  1059.        the characters anymore. Use judiciously. any or all of the 32
  1060.        possible control characters may be placed in the Pass: gadget;
  1061.        it scrolls to accomidate more than fit in the little window.
  1062.        Order does not matter, nor does lower/upper case.
  1063.        
  1064.            00-@ 01-A 02-B 03-C 04-D 05-E 06-F 07-G 08-H 09-I 0A-J
  1065.            0B-K 0C-L 0D-M OE-N 0F-O 10-P 11-Q 12-R 13-S 14-T 15-U
  1066.            16-V 17-W 18-X 19-Y 1A-Z 1B-[ 1C-\ 1D-] 1E-^ 1F-_
  1067.      
  1068. 4.08 : For v4.08 there is an entirely new function, one that allows you
  1069.        to open a window with from 1 to 20 gadgets in it; You control
  1070.        the text that appears in these gadgets, and how many there are.
  1071.        Each of these gadgets can start a function key; The whole
  1072.        thing is controlled by a "define" file, that contains plain
  1073.        ASCII text you use an editor to build. Details are available
  1074.        in the macto key function explanations.
  1075.        
  1076.      + The cursor in the LOG window is now automatically turned off
  1077.        when you are using the chat window; It only appears when you
  1078.        are using the log window directly.
  1079.     
  1080. 4.09 : the gadget window added in 4.08 would not open into a custom
  1081.        screen - fixed now.
  1082.        
  1083. 4.10 : Review Buffer window will now shrink somewhat further - in
  1084.        response to some careful critisism.
  1085.        
  1086.      + The gadget window now has the ability to have user-specifed
  1087.        colors for the text in the gadgets - this allows you to
  1088.        highlight the items you consider of overriding importance.
  1089.        You modify the number of the fkey in the beginning of the
  1090.        line for colors: Use 01-20 for color 1, 21-40 for color 2,
  1091.        and 41-60 for color 3.
  1092.        
  1093.      + CoComm can now optionally execute an fkey when it is started;
  1094.        to choose an autostart fkey, enter a number from 1-20 in the
  1095.        "AutoStart" gadget in the prefs window and save as the
  1096.        Default.config file.
  1097.        
  1098.      + CoComm will now remember where you last "parked" the gadget window,
  1099.        so if you close it, it will re-open where it was when you closed it,
  1100.        instead of always starting in the same position.
  1101.      
  1102.      + Somewhere b4 this rev a bug crept in that would not allow you
  1103.        to change the serial parameters except at startup; That's
  1104.        fixed, you can now select the baud rate, parity, and stop bits
  1105.        on the fly at any time w/o quitting CoComm.
  1106.        
  1107. 4.11 : To the macro language, added the ']' statement - this allows you
  1108.        to set the communications parameters from a macro key operation.
  1109.        This addition makes the phonebook concept now 100% viable using
  1110.        the gadget windows and macro keys. Examine the phone.config
  1111.        F11 key for an example of it's use - there, it sets you to
  1112.        8N1, Full duplex, and does NOT change your baud rate... Thus
  1113.        ensuring that your protocol transfers with CIS operate correctly.
  1114.        
  1115.      + added the simple quoted string serial output; To send any text
  1116.        except a double quotation mark, simply enclose it in the double
  1117.        quotes, like this:   "send this text"
  1118.        
  1119.      + bug fix: macro keys that had a comment at the end would not
  1120.        'return' when 'called' from another key - fixed now.
  1121.      
  1122.      + default.config demos restructured to use phonebook gadget window,
  1123.        meta funtion that calls CIS (in phonebook config, now) also
  1124.        restructured for easy modification by the new user.
  1125.  
  1126. 4.12 : QB proto auto-sense disable added for use of the CoComm program
  1127.        on systems that do NOT handle the QB protocol - IE, anywhere
  1128.        but CIS. <grin>
  1129.        
  1130. 4.13 : Added a menu for use in handling the '.def' files; It kind of
  1131.        offended me that you had to use a text editor to prepare them;
  1132.        It 'feels better' to be able to handle everything right from
  1133.        CoComm. Available menu options are save, load, and edit. The
  1134.        Load function automatically opens the editor.
  1135.       
  1136. 4.14 : Added a DOS Execute function to the macro language; the '?'
  1137.        character is used for it. The return code from the command
  1138.        is placed in numeric register 'Z'.
  1139.      
  1140.      + Added some other conditions to the conditional jump and call
  1141.        facilities. Previously, you could jump or call (using numeric
  1142.        registers) on zero or non-zero conditions; You can now also
  1143.        jump or call on greater than zero and less than zero conditions.
  1144.        This was added because it was observed that some commands returned
  1145.        a negative return code, and you may need to be able to test
  1146.        for that in order to handle it properly.
  1147.     
  1148. 4.15 : linked with Lattice 'cback.o', removes extra window upon workbench
  1149.        startup.
  1150.        
  1151.      + Review buffer would not remember it's size and position if it was
  1152.        closed by re-selecting the Review Open option, or with Right/Amiga/0,
  1153.        the equivalent Amiga key sequence. Fixed now, both methods work.
  1154.        
  1155.      + Window Titles for both of CoComm's operating windows changed to
  1156.        reflect buffered/unbuffered status.
  1157.  
  1158. 4.16 : Internal revision - not released
  1159.  
  1160. 4.17 : Added smooth scroll to review buffer. Selected via menu item in
  1161.        Project menu.
  1162.      
  1163.      + User-defined gadget window has been rearranged to take much less
  1164.        vertical space. Your old define files will still work, they'll
  1165.        just show up a little differently on the display.
  1166.  
  1167. 4.18 : Added 'E' option to '=' command. This option causes the chat
  1168.        window buffer to be terminated and emitted to the serial
  1169.        port, as if you had typed a c/r and completed the line manually.
  1170.        This may be  used to make the last line in a message go out when you
  1171.        have a programmed signoff in a macro key, for instance.
  1172.  
  1173.  
  1174.  
  1175. 4.19-4.99 were reserved or unused revisions - not released
  1176.  
  1177. 5.00 : CW Send menu select - translates what you type in the chat
  1178.        window to morse code. Why? Anne and I wanted it. <grin>
  1179.      
  1180.      + Nasty bug that caused CoComm to trample low memory has been
  1181.        squashed. Ahhhhh! Finally!
  1182.        
  1183.      + Crunch menu select  - Also from the chat window, takes the text
  1184.        you type and does two things to it - First, it removes any spaces
  1185.        typed, and second, it capitalizes the first letter of each word.
  1186.        it would turn "sample sentence" into "SampleSentence" for instance.
  1187.        Again, I wanted this as it's fun to bug people with in Co. heh heh heh.
  1188.        
  1189.      + Line control (Normal/One Blank/No Blanks) - This option is used to
  1190.        make CoComm strip incoming blank lines out of the display. They still
  1191.        go into the review buffer or capture file, but you won't see them
  1192.        in the main window. This is a great convenience when someone has been
  1193.        thoughtless enough to just FILL a message with blanks, which can make
  1194.        it scroll off quickly, especially at high baud rates.
  1195.      
  1196.      + SEN operations in non AI co mode (in other words, at normal forum
  1197.        levels) no longer send the colored line - that was causing some
  1198.        confusing looking displays. The sens are sent as normal text only
  1199.        now.
  1200.        
  1201.      + ARexx interface added. This is a biggie - It's a simple interface,
  1202.        but one with great possibilities. If you don't have ARexx, you won't
  1203.        need to worry about this - but you SHOULD have ARexx - it's
  1204.        immensely powerful, and it's fun, too!
  1205.        
  1206.          ARexx port name is "CoComm_Port" so for external scripts, you
  1207.          would use: address 'CoComm_Port'; as the ARexx command to
  1208.          attach a script to CoComm. As for internal macros (details on
  1209.          how to do those follows), CoComm is a full-fledged ARexx host,
  1210.          and so when you invoke an ARexx macro from within a CoComm
  1211.          macro key, the address is already set to CoComm_Port, there is
  1212.          no need to use that in the script. On the other hand, it doesn't
  1213.          hurt anything. The issue here is that if you're defining a macro
  1214.          that exists complete within a key (as a quoted string) then,
  1215.          since the space in a macro key is limited, you don't want to
  1216.          have to use any extraneous commands.
  1217.  
  1218.          To place an ARexx macro within a CoComm macro key, you use the
  1219.          '=' key indicator along with the escape key. In the following
  1220.          description, the letters ESC refer to one press of the ESC key,
  1221.          NOT the three letters E, S, and C.
  1222.  
  1223.          To place the word Testing on the screen, enter the following
  1224.          into a macro key:
  1225.  
  1226.          =ESC"msg 'Testing'"ESC
  1227.  
  1228.          This can be used anywhere in a macro key with other CoComm
  1229.          macro functions.
  1230.  
  1231.          The reason the ESC key was used instead of the Quote keys is that
  1232.          ARexx takes considerable meaning from either of the quote keys,
  1233.          and we wanted to leave them free for you to use in the ARexx
  1234.          macro. On the other hand, the ESC key can be generated in ARexx
  1235.          by the use of a hex literal, so nothing lost there.
  1236.  
  1237.          If you like, you can use the Double quote instead of the ESC key,
  1238.          but in that case you may not use the double quote in the actual
  1239.          macro. This is also a valid CoComm/ARexx macro:
  1240.  
  1241.          ="'msg testing'"
  1242.  
  1243.          We suggest you use the ESC syntax, however.
  1244.  
  1245.          Commands available for use in ARexx macros with CoComm:
  1246.  
  1247.             CLOSE                 - terminates CoComm immediately
  1248.             MSG  <string>         - sends text to unbuffered window.
  1249.             SEND <string>         - sends text out modem.
  1250.             SCAN                  - returns text in rx buffer
  1251.             SETSTEAL <macro name> - starts steal, sets macro to call on steal.
  1252.                                     this macro must use the SCAN operation
  1253.                                     to read the text which is ready.
  1254.             CLRSTEAL              - turns off steal mode
  1255.  
  1256.             The ARexx interface is still under development; Let me
  1257.             know of any suggestions you may have for it. If you have questions
  1258.             on how the steal operation is supposed to work, ask me on
  1259.             the forum, either in  AmigaVendor or AmigaTech. The SCAN
  1260.             operation may act a little strange at times - still working
  1261.             on it.
  1262.